<?php

namespace IDock\Insurance\ACIC\Request;

use Exception;
use IDock\Insurance\ACIC\Response\ChannelInsuranceNotifyResponse;

class ChannelInsuranceNotifyRequest extends AllACICRequest
{
    protected $code = 'P01';

    protected $response = ChannelInsuranceNotifyResponse::class;

    protected $logTip = '渠道代收保单生成通知';

    protected $cConfirmNo = '';
    protected $bConfirmNo = '';
    protected $paySerialNo = '';
    protected $appOrderNo = '';

    protected $flag = '';

    /**
     * @return array
     * @throws Exception
     */
    public function generate(): array
    {
        $param = [
            'CConfirmNo' => $this->cConfirmNo,
            'BConfirmNo' => $this->bConfirmNo,
            'PaySerialNo' => $this->paySerialNo,
            'AppOrderNo' => $this->appOrderNo,
            'Flag' => $this->flag,
        ];

        return $param;
    }

    /**
     * @param string $cConfirmNo
     */
    public function setCConfirmNo(string $cConfirmNo): void
    {
        $this->cConfirmNo = $cConfirmNo;
    }

    /**
     * @param string $bConfirmNo
     */
    public function setBConfirmNo(string $bConfirmNo): void
    {
        $this->bConfirmNo = $bConfirmNo;
    }

    /**
     * @param string $paySerialNo
     */
    public function setPaySerialNo(string $paySerialNo): void
    {
        $this->paySerialNo = $paySerialNo;
    }

    /**
     * @param string $appOrderNo
     */
    public function setAppOrderNo(string $appOrderNo): void
    {
        $this->appOrderNo = $appOrderNo;
    }

    /**
     * @param string $flag
     */
    public function setFlag(string $flag): void
    {
        $this->flag = $flag;
    }


}